using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes.DomainAttributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Enums;
using System.Collections.Generic;
using System.ComponentModel;

namespace Baci.ArcGIS._DataManagementTools._Raster._RasterProcessing
{
    /// <summary>
    /// <para>Create Pansharpened Raster Dataset</para>
    /// <para>Combines a high-resolution panchromatic raster dataset with a lower-resolution multiband raster dataset to create a high-resolution multiband  raster dataset for visual analysis.</para>
    /// <para>将高分辨率全色栅格数据集与低分辨率多波段栅格数据集相结合，以创建用于可视化分析的高分辨率多波段栅格数据集。</para>
    /// </summary>    
    [DisplayName("Create Pansharpened Raster Dataset")]
    public class CreatePansharpenedRasterDataset : AbstractGPProcess
    {
        /// <summary>
        /// 无参构造
        /// </summary>
        public CreatePansharpenedRasterDataset()
        {

        }

        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="_in_raster">
        /// <para>Input Raster</para>
        /// <para>The raster dataset that you want to pan sharpen.</para>
        /// <para>要平移锐化的栅格数据集。</para>
        /// </param>
        /// <param name="_red_channel">
        /// <para>Red Channel</para>
        /// <para>The input raster band that you want to display with the red color channel.</para>
        /// <para>要使用红色通道显示的输入栅格波段。</para>
        /// </param>
        /// <param name="_green_channel">
        /// <para>Green Channel</para>
        /// <para>The input raster band that you want to display with the green color channel.</para>
        /// <para>要使用绿色通道显示的输入栅格波段。</para>
        /// </param>
        /// <param name="_blue_channel">
        /// <para>Blue Channel</para>
        /// <para>The input raster band that you want to display with the blue color channel.</para>
        /// <para>要使用蓝色通道显示的输入栅格波段。</para>
        /// </param>
        /// <param name="_out_raster_dataset">
        /// <para>Output Raster Dataset</para>
        /// <para><xdoc>
        ///   <para>The name, location, and format for the dataset you are creating.</para>
        ///   <para>When storing the raster dataset in a file format, you need to specify the file extension:</para>
        ///   <para>When storing a raster dataset in a geodatabase, no file extension should be added to the name of the raster dataset. When storing the raster dataset in a file format, you need to specify the file extension:
        ///   <bulletList>
        ///     <bullet_item>.bil for Esri BIL  </bullet_item><para/>
        ///     <bullet_item>.bip for Esri BIP  </bullet_item><para/>
        ///     <bullet_item>.bmp for BMP  </bullet_item><para/>
        ///     <bullet_item>.bsq for Esri BSQ  </bullet_item><para/>
        ///     <bullet_item>.dat for ENVI DAT  </bullet_item><para/>
        ///     <bullet_item>.gif for GIF  </bullet_item><para/>
        ///     <bullet_item>.img for ERDAS IMAGINE  </bullet_item><para/>
        ///     <bullet_item>.jpg for JPEG  </bullet_item><para/>
        ///     <bullet_item>.jp2 for JPEG 2000  </bullet_item><para/>
        ///     <bullet_item>.png for PNG  </bullet_item><para/>
        ///     <bullet_item>.tif for TIFF  </bullet_item><para/>
        ///     <bullet_item>.mrf for MRF  </bullet_item><para/>
        ///     <bullet_item>.crf for CRF  </bullet_item><para/>
        ///     <bullet_item>No extension for Esri Grid  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        ///   <para>When storing a raster dataset in a geodatabase, do not add a file extension to the name of the raster dataset.</para>
        ///   <para>When storing your raster dataset to a JPEG file, a JPEG 2000 file, a TIFF file, or a geodatabase, you can specify a Compression Type and Compression Quality in the geoprocessing Environments.</para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>要创建的数据集的名称、位置和格式。</para>
        ///   <para>以文件格式存储栅格数据集时，需要指定文件扩展名：</para>
        /// <para>在地理数据库中存储栅格数据集时，不应在栅格数据集的名称中添加文件扩展名。以文件格式存储栅格数据集时，需要指定文件扩展名：
        ///   <bulletList>
        ///     <bullet_item>.bil for Esri BIL</bullet_item><para/>
        ///     <bullet_item>用于 Esri BIP 的 .bip</bullet_item><para/>
        ///     <bullet_item>BMP的.bmp</bullet_item><para/>
        ///     <bullet_item>.bsq for Esri BSQ</bullet_item><para/>
        ///     <bullet_item>ENVI DAT 的.dat</bullet_item><para/>
        ///     <bullet_item>.gif GIF</bullet_item><para/>
        ///     <bullet_item>.img 代表 ERDAS IMAGINE</bullet_item><para/>
        ///     <bullet_item>JPEG .jpg</bullet_item><para/>
        ///     <bullet_item>JPEG 2000 的 .jp2</bullet_item><para/>
        ///     <bullet_item>PNG 的.png</bullet_item><para/>
        ///     <bullet_item>TIFF .tif</bullet_item><para/>
        ///     <bullet_item>.mrf 表示 MRF</bullet_item><para/>
        ///     <bullet_item>.crf 表示 CRF</bullet_item><para/>
        ///     <bullet_item>没有 Esri Grid 的扩展模块</bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        ///   <para>在地理数据库中存储栅格数据集时，请勿在栅格数据集的名称中添加文件扩展名。</para>
        ///   <para>将栅格数据集存储为 JPEG 文件、JPEG 2000 文件、TIFF 文件或地理数据库时，可以在地理处理环境中指定压缩类型和压缩质量。</para>
        /// </xdoc></para>
        /// </param>
        /// <param name="_in_panchromatic_image">
        /// <para>Panchromatic Image</para>
        /// <para>The higher-resolution panchromatic image.</para>
        /// <para>更高分辨率的全色图像。</para>
        /// </param>
        /// <param name="_pansharpening_type">
        /// <para>Pan-sharpening Type</para>
        /// <para><xdoc>
        ///   <para>The algorithm to fuse the panchromatic and multispectral bands together.</para>
        ///   <bulletList>
        ///     <bullet_item>IHS—Uses Intensity, Hue, and Saturation color space for data fusion.</bullet_item><para/>
        ///     <bullet_item>Brovey—Uses the Brovey algorithm based on spectral modeling for data fusion.</bullet_item><para/>
        ///     <bullet_item>Esri—Uses the Esri algorithm based on spectral modeling for data fusion.</bullet_item><para/>
        ///     <bullet_item>Simple mean—Uses the averaged value between the red, green, and blue values and the panchromatic pixel value.</bullet_item><para/>
        ///     <bullet_item>Gram-Schmidt—Uses the Gram-Schmidt spectral-sharpening algorithm to sharpen multispectral data.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>将全色波段和多光谱波段融合在一起的算法。</para>
        ///   <bulletList>
        ///     <bullet_item>IHS - 使用强度、色调和饱和度颜色空间进行数据融合。</bullet_item><para/>
        ///     <bullet_item>Brovey - 使用基于频谱建模的 Brovey 算法进行数据融合。</bullet_item><para/>
        ///     <bullet_item>Esri - 使用基于光谱建模的 Esri 算法进行数据融合。</bullet_item><para/>
        ///     <bullet_item>简单平均值 - 使用红色、绿色和蓝色值与全色像素值之间的平均值。</bullet_item><para/>
        ///     <bullet_item>Gram-Schmidt - 使用 Gram-Schmidt 光谱锐化算法锐化多光谱数据。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// </param>
        public CreatePansharpenedRasterDataset(object _in_raster, long _red_channel, long _green_channel, long _blue_channel, object _out_raster_dataset, object _in_panchromatic_image, _pansharpening_type_value _pansharpening_type)
        {
            this._in_raster = _in_raster;
            this._red_channel = _red_channel;
            this._green_channel = _green_channel;
            this._blue_channel = _blue_channel;
            this._out_raster_dataset = _out_raster_dataset;
            this._in_panchromatic_image = _in_panchromatic_image;
            this._pansharpening_type = _pansharpening_type;
        }
        public override string ToolboxName => "Data Management Tools";

        public override string ToolName => "Create Pansharpened Raster Dataset";

        public override string CallName => "management.CreatePansharpenedRasterDataset";

        public override List<string> AcceptEnvironments => ["compression", "configKeyword", "extent", "geographicTransformations", "nodata", "outputCoordinateSystem", "parallelProcessingFactor", "pyramid", "rasterStatistics", "resamplingMethod", "scratchWorkspace", "snapRaster", "tileSize", "workspace"];

        public override object[] ParameterInfo => [_in_raster, _red_channel, _green_channel, _blue_channel, _infrared_channel, _out_raster_dataset, _in_panchromatic_image, _pansharpening_type.GetGPValue(), _red_weight, _green_weight, _blue_weight, _infrared_weight, _sensor.GetGPValue()];

        /// <summary>
        /// <para>Input Raster</para>
        /// <para>The raster dataset that you want to pan sharpen.</para>
        /// <para>要平移锐化的栅格数据集。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Raster")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _in_raster { get; set; }


        /// <summary>
        /// <para>Red Channel</para>
        /// <para>The input raster band that you want to display with the red color channel.</para>
        /// <para>要使用红色通道显示的输入栅格波段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Red Channel")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public long _red_channel { get; set; }


        /// <summary>
        /// <para>Green Channel</para>
        /// <para>The input raster band that you want to display with the green color channel.</para>
        /// <para>要使用绿色通道显示的输入栅格波段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Green Channel")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public long _green_channel { get; set; }


        /// <summary>
        /// <para>Blue Channel</para>
        /// <para>The input raster band that you want to display with the blue color channel.</para>
        /// <para>要使用蓝色通道显示的输入栅格波段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Blue Channel")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public long _blue_channel { get; set; }


        /// <summary>
        /// <para>Infrared Channel</para>
        /// <para>The input raster band that you want to display with the infrared color channel.</para>
        /// <para>要使用红外颜色通道显示的输入栅格波段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Infrared Channel")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public long _infrared_channel { get; set; } = 1;


        /// <summary>
        /// <para>Output Raster Dataset</para>
        /// <para><xdoc>
        ///   <para>The name, location, and format for the dataset you are creating.</para>
        ///   <para>When storing the raster dataset in a file format, you need to specify the file extension:</para>
        ///   <para>When storing a raster dataset in a geodatabase, no file extension should be added to the name of the raster dataset. When storing the raster dataset in a file format, you need to specify the file extension:
        ///   <bulletList>
        ///     <bullet_item>.bil for Esri BIL  </bullet_item><para/>
        ///     <bullet_item>.bip for Esri BIP  </bullet_item><para/>
        ///     <bullet_item>.bmp for BMP  </bullet_item><para/>
        ///     <bullet_item>.bsq for Esri BSQ  </bullet_item><para/>
        ///     <bullet_item>.dat for ENVI DAT  </bullet_item><para/>
        ///     <bullet_item>.gif for GIF  </bullet_item><para/>
        ///     <bullet_item>.img for ERDAS IMAGINE  </bullet_item><para/>
        ///     <bullet_item>.jpg for JPEG  </bullet_item><para/>
        ///     <bullet_item>.jp2 for JPEG 2000  </bullet_item><para/>
        ///     <bullet_item>.png for PNG  </bullet_item><para/>
        ///     <bullet_item>.tif for TIFF  </bullet_item><para/>
        ///     <bullet_item>.mrf for MRF  </bullet_item><para/>
        ///     <bullet_item>.crf for CRF  </bullet_item><para/>
        ///     <bullet_item>No extension for Esri Grid  </bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        ///   <para>When storing a raster dataset in a geodatabase, do not add a file extension to the name of the raster dataset.</para>
        ///   <para>When storing your raster dataset to a JPEG file, a JPEG 2000 file, a TIFF file, or a geodatabase, you can specify a Compression Type and Compression Quality in the geoprocessing Environments.</para>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>要创建的数据集的名称、位置和格式。</para>
        ///   <para>以文件格式存储栅格数据集时，需要指定文件扩展名：</para>
        /// <para>在地理数据库中存储栅格数据集时，不应在栅格数据集的名称中添加文件扩展名。以文件格式存储栅格数据集时，需要指定文件扩展名：
        ///   <bulletList>
        ///     <bullet_item>.bil for Esri BIL</bullet_item><para/>
        ///     <bullet_item>用于 Esri BIP 的 .bip</bullet_item><para/>
        ///     <bullet_item>BMP的.bmp</bullet_item><para/>
        ///     <bullet_item>.bsq for Esri BSQ</bullet_item><para/>
        ///     <bullet_item>ENVI DAT 的.dat</bullet_item><para/>
        ///     <bullet_item>.gif GIF</bullet_item><para/>
        ///     <bullet_item>.img 代表 ERDAS IMAGINE</bullet_item><para/>
        ///     <bullet_item>JPEG .jpg</bullet_item><para/>
        ///     <bullet_item>JPEG 2000 的 .jp2</bullet_item><para/>
        ///     <bullet_item>PNG 的.png</bullet_item><para/>
        ///     <bullet_item>TIFF .tif</bullet_item><para/>
        ///     <bullet_item>.mrf 表示 MRF</bullet_item><para/>
        ///     <bullet_item>.crf 表示 CRF</bullet_item><para/>
        ///     <bullet_item>没有 Esri Grid 的扩展模块</bullet_item><para/>
        ///   </bulletList>
        ///   </para>
        ///   <para>在地理数据库中存储栅格数据集时，请勿在栅格数据集的名称中添加文件扩展名。</para>
        ///   <para>将栅格数据集存储为 JPEG 文件、JPEG 2000 文件、TIFF 文件或地理数据库时，可以在地理处理环境中指定压缩类型和压缩质量。</para>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Raster Dataset")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _out_raster_dataset { get; set; }


        /// <summary>
        /// <para>Panchromatic Image</para>
        /// <para>The higher-resolution panchromatic image.</para>
        /// <para>更高分辨率的全色图像。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Panchromatic Image")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _in_panchromatic_image { get; set; }


        /// <summary>
        /// <para>Pan-sharpening Type</para>
        /// <para><xdoc>
        ///   <para>The algorithm to fuse the panchromatic and multispectral bands together.</para>
        ///   <bulletList>
        ///     <bullet_item>IHS—Uses Intensity, Hue, and Saturation color space for data fusion.</bullet_item><para/>
        ///     <bullet_item>Brovey—Uses the Brovey algorithm based on spectral modeling for data fusion.</bullet_item><para/>
        ///     <bullet_item>Esri—Uses the Esri algorithm based on spectral modeling for data fusion.</bullet_item><para/>
        ///     <bullet_item>Simple mean—Uses the averaged value between the red, green, and blue values and the panchromatic pixel value.</bullet_item><para/>
        ///     <bullet_item>Gram-Schmidt—Uses the Gram-Schmidt spectral-sharpening algorithm to sharpen multispectral data.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>将全色波段和多光谱波段融合在一起的算法。</para>
        ///   <bulletList>
        ///     <bullet_item>IHS - 使用强度、色调和饱和度颜色空间进行数据融合。</bullet_item><para/>
        ///     <bullet_item>Brovey - 使用基于频谱建模的 Brovey 算法进行数据融合。</bullet_item><para/>
        ///     <bullet_item>Esri - 使用基于光谱建模的 Esri 算法进行数据融合。</bullet_item><para/>
        ///     <bullet_item>简单平均值 - 使用红色、绿色和蓝色值与全色像素值之间的平均值。</bullet_item><para/>
        ///     <bullet_item>Gram-Schmidt - 使用 Gram-Schmidt 光谱锐化算法锐化多光谱数据。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Pan-sharpening Type")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public _pansharpening_type_value _pansharpening_type { get; set; }

        public enum _pansharpening_type_value
        {
            /// <summary>
            /// <para>IHS</para>
            /// <para>IHS—Uses Intensity, Hue, and Saturation color space for data fusion.</para>
            /// <para>IHS - 使用强度、色调和饱和度颜色空间进行数据融合。</para>
            /// </summary>
            [Description("IHS")]
            [GPEnumValue("IHS")]
            _IHS,

            /// <summary>
            /// <para>Brovey</para>
            /// <para>Brovey—Uses the Brovey algorithm based on spectral modeling for data fusion.</para>
            /// <para>Brovey - 使用基于频谱建模的 Brovey 算法进行数据融合。</para>
            /// </summary>
            [Description("Brovey")]
            [GPEnumValue("BROVEY")]
            _BROVEY,

            /// <summary>
            /// <para>Esri</para>
            /// <para>Esri—Uses the Esri algorithm based on spectral modeling for data fusion.</para>
            /// <para>Esri - 使用基于光谱建模的 Esri 算法进行数据融合。</para>
            /// </summary>
            [Description("Esri")]
            [GPEnumValue("Esri")]
            _Esri,

            /// <summary>
            /// <para>Simple mean</para>
            /// <para>Simple mean—Uses the averaged value between the red, green, and blue values and the panchromatic pixel value.</para>
            /// <para>简单平均值 - 使用红色、绿色和蓝色值与全色像素值之间的平均值。</para>
            /// </summary>
            [Description("Simple mean")]
            [GPEnumValue("SIMPLE_MEAN")]
            _SIMPLE_MEAN,

            /// <summary>
            /// <para>Gram-Schmidt</para>
            /// <para>Gram-Schmidt—Uses the Gram-Schmidt spectral-sharpening algorithm to sharpen multispectral data.</para>
            /// <para>Gram-Schmidt - 使用 Gram-Schmidt 光谱锐化算法锐化多光谱数据。</para>
            /// </summary>
            [Description("Gram-Schmidt")]
            [GPEnumValue("Gram-Schmidt")]
            value4,

        }

        /// <summary>
        /// <para>Red Weight</para>
        /// <para>A value from 0 to 1 to weight the red band.</para>
        /// <para>从 0 到 1 的值，用于对红色条带进行加权。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Red Weight")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double _red_weight { get; set; } = 0.166;


        /// <summary>
        /// <para>Green Weight</para>
        /// <para>A value from 0 to 1 to weight the green band.</para>
        /// <para>从 0 到 1 的值，用于对绿色条带进行加权。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Green Weight")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double _green_weight { get; set; } = 0.167;


        /// <summary>
        /// <para>Blue Weight</para>
        /// <para>A value from 0 to 1 to weight the blue band.</para>
        /// <para>一个介于 0 到 1 之间的值，用于对蓝色波段进行加权。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Blue Weight")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double _blue_weight { get; set; } = 0.167;


        /// <summary>
        /// <para>Infrared Weight</para>
        /// <para>A value from 0 to 1 to weight the infrared band.</para>
        /// <para>从 0 到 1 的值，用于加权红外波段。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Infrared Weight")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double _infrared_weight { get; set; } = 0.5;


        /// <summary>
        /// <para>Sensor</para>
        /// <para><xdoc>
        ///   <para>When the Gram-Schmidt pan-sharpening method is chosen, you can also specify the sensor of the multiband raster input. Choosing the sensor type will set appropriate band weights.</para>
        ///   <bulletList>
        ///     <bullet_item>Unknown—An unknown or unlisted sensor</bullet_item><para/>
        ///     <bullet_item>DubaiSat-2—The DubaiSat-2 satellite sensor</bullet_item><para/>
        ///     <bullet_item>GeoEye-1—The GeoEye-1 and OrbView-3 satellite sensors</bullet_item><para/>
        ///     <bullet_item>GF-1 PMS—The Gao Fen satellite 1, Panchromatic and Multispectral CCD Camera</bullet_item><para/>
        ///     <bullet_item>GF-2 PMS—The Gao Fen 2 satellite, Panchromatic and Multispectral CCD Camera</bullet_item><para/>
        ///     <bullet_item>IKONOS—The IKONOS satellite sensor</bullet_item><para/>
        ///     <bullet_item>Jilin-1—The Jilin-1 satellite sensor</bullet_item><para/>
        ///     <bullet_item>KOMPSAT-2—The KOMPSAT-2 satellite sensor</bullet_item><para/>
        ///     <bullet_item>KOMPSAT-3—The KOMPSAT-3 satellite sensor</bullet_item><para/>
        ///     <bullet_item>Landsat 1-5 MSS—The Landsat MSS satellite sensors</bullet_item><para/>
        ///     <bullet_item>Landsat 7 ETM+—The Landsat 7 satellite sensor</bullet_item><para/>
        ///     <bullet_item>Landsat 8—The Landsat 8 satellite sensor</bullet_item><para/>
        ///     <bullet_item>Pleiades-1—The Pleiades-1 satellite sensor</bullet_item><para/>
        ///     <bullet_item>Quickbird—The QuickBird satellite sensor</bullet_item><para/>
        ///     <bullet_item>SkySat-C—The SkySat-C satellite sensor</bullet_item><para/>
        ///     <bullet_item>SPOT 5—The SPOT 5 satellite sensor</bullet_item><para/>
        ///     <bullet_item>SPOT 6—The SPOT 6 satellite sensor</bullet_item><para/>
        ///     <bullet_item>SPOT 7—The SPOT 7 satellite sensor</bullet_item><para/>
        ///     <bullet_item>Tian Hui 1—The Tian Hui 1 satellite sensor</bullet_item><para/>
        ///     <bullet_item>Ultracam—The UltraCam aerial sensor</bullet_item><para/>
        ///     <bullet_item>WorldView-2—The WorldView-2 satellite sensor</bullet_item><para/>
        ///     <bullet_item>WorldView-3—The WorldView-3 satellite sensor</bullet_item><para/>
        ///     <bullet_item>WorldView-4—The WorldView-4 satellite sensor</bullet_item><para/>
        ///     <bullet_item>ZY-1 PMS—The Ziyuan High Panchromatic Multispectral Sensor</bullet_item><para/>
        ///     <bullet_item>ZY-3 CRESDA—The Ziyuan CRESDA satellite sensor</bullet_item><para/>
        ///     <bullet_item>ZY-3 SASMAC—The Ziyuan SASMAC satellite sensor</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>选择 Gram-Schmidt 全景锐化方法时，还可以指定多波段栅格输入的传感器。选择传感器类型将设置适当的波段权重。</para>
        ///   <bulletList>
        ///     <bullet_item>未知 - 未知或未列出的传感器</bullet_item><para/>
        ///     <bullet_item>DubaiSat-2 — DubaiSat-2 卫星传感器</bullet_item><para/>
        ///     <bullet_item>GeoEye-1—GeoEye-1 和 OrbView-3 卫星传感器</bullet_item><para/>
        ///     <bullet_item>GF-1 PMS—高奋卫星1号，全色和多光谱CCD相机</bullet_item><para/>
        ///     <bullet_item>GF-2 PMS—高奋二号卫星全色和多光谱CCD相机</bullet_item><para/>
        ///     <bullet_item>IKONOS—IKONOS 卫星传感器</bullet_item><para/>
        ///     <bullet_item>吉林一号——吉林一号卫星传感器</bullet_item><para/>
        ///     <bullet_item>KOMPSAT-2—KOMPSAT-2卫星传感器</bullet_item><para/>
        ///     <bullet_item>KOMPSAT-3—KOMPSAT-3卫星传感器</bullet_item><para/>
        ///     <bullet_item>Landsat 1-5 MSS - Landsat MSS 卫星传感器</bullet_item><para/>
        ///     <bullet_item>Landsat 7 ETM+ - Landsat 7 卫星传感器</bullet_item><para/>
        ///     <bullet_item>Landsat 8 - Landsat 8 卫星传感器</bullet_item><para/>
        ///     <bullet_item>昴宿星团-1—昴宿星团-1卫星传感器</bullet_item><para/>
        ///     <bullet_item>Quickbird - QuickBird 卫星传感器</bullet_item><para/>
        ///     <bullet_item>SkySat-C - SkySat-C 卫星传感器</bullet_item><para/>
        ///     <bullet_item>SPOT 5—SPOT 5 卫星传感器</bullet_item><para/>
        ///     <bullet_item>SPOT 6—SPOT 6 卫星传感器</bullet_item><para/>
        ///     <bullet_item>SPOT 7—SPOT 7 卫星传感器</bullet_item><para/>
        ///     <bullet_item>天会一号—天会一号卫星传感器</bullet_item><para/>
        ///     <bullet_item>Ultracam—UltraCam 航空传感器</bullet_item><para/>
        ///     <bullet_item>WorldView-2 - WorldView-2 卫星传感器</bullet_item><para/>
        ///     <bullet_item>WorldView-3 - WorldView-3 卫星传感器</bullet_item><para/>
        ///     <bullet_item>WorldView-4—WorldView-4 卫星传感器</bullet_item><para/>
        ///     <bullet_item>ZY-1 PMS—紫苑高全色多光谱传感器</bullet_item><para/>
        ///     <bullet_item>ZY-3 CRESDA—紫苑CRESDA卫星传感器</bullet_item><para/>
        ///     <bullet_item>ZY-3 SASMAC—紫苑SASMAC卫星传感器</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Sensor")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _sensor_value _sensor { get; set; } = _sensor_value._UNKNOWN;

        public enum _sensor_value
        {
            /// <summary>
            /// <para>Unknown</para>
            /// <para>Unknown—An unknown or unlisted sensor</para>
            /// <para>未知 - 未知或未列出的传感器</para>
            /// </summary>
            [Description("Unknown")]
            [GPEnumValue("UNKNOWN")]
            _UNKNOWN,

            /// <summary>
            /// <para>DubaiSat-2</para>
            /// <para>DubaiSat-2—The DubaiSat-2 satellite sensor</para>
            /// <para>DubaiSat-2 — DubaiSat-2 卫星传感器</para>
            /// </summary>
            [Description("DubaiSat-2")]
            [GPEnumValue("DubaiSat-2")]
            value1,

            /// <summary>
            /// <para>GeoEye-1</para>
            /// <para>GeoEye-1—The GeoEye-1 and OrbView-3 satellite sensors</para>
            /// <para>GeoEye-1—GeoEye-1 和 OrbView-3 卫星传感器</para>
            /// </summary>
            [Description("GeoEye-1")]
            [GPEnumValue("GeoEye-1")]
            value2,

            /// <summary>
            /// <para>GF-1 PMS</para>
            /// <para>GF-1 PMS—The Gao Fen satellite 1, Panchromatic and Multispectral CCD Camera</para>
            /// <para>GF-1 PMS—高奋卫星1号，全色和多光谱CCD相机</para>
            /// </summary>
            [Description("GF-1 PMS")]
            [GPEnumValue("GF-1 PMS")]
            value3,

            /// <summary>
            /// <para>GF-2 PMS</para>
            /// <para>GF-2 PMS—The Gao Fen 2 satellite, Panchromatic and Multispectral CCD Camera</para>
            /// <para>GF-2 PMS—高奋二号卫星全色和多光谱CCD相机</para>
            /// </summary>
            [Description("GF-2 PMS")]
            [GPEnumValue("GF-2 PMS")]
            value4,

            /// <summary>
            /// <para>IKONOS</para>
            /// <para>IKONOS—The IKONOS satellite sensor</para>
            /// <para>IKONOS—IKONOS 卫星传感器</para>
            /// </summary>
            [Description("IKONOS")]
            [GPEnumValue("IKONOS")]
            _IKONOS,

            /// <summary>
            /// <para>Jilin-1</para>
            /// <para>Jilin-1—The Jilin-1 satellite sensor</para>
            /// <para>吉林一号——吉林一号卫星传感器</para>
            /// </summary>
            [Description("Jilin-1")]
            [GPEnumValue("Jilin-1")]
            value6,

            /// <summary>
            /// <para>KOMPSAT-2</para>
            /// <para>KOMPSAT-2—The KOMPSAT-2 satellite sensor</para>
            /// <para>KOMPSAT-2—KOMPSAT-2卫星传感器</para>
            /// </summary>
            [Description("KOMPSAT-2")]
            [GPEnumValue("KOMPSAT-2")]
            value7,

            /// <summary>
            /// <para>KOMPSAT-3</para>
            /// <para>KOMPSAT-3—The KOMPSAT-3 satellite sensor</para>
            /// <para>KOMPSAT-3—KOMPSAT-3卫星传感器</para>
            /// </summary>
            [Description("KOMPSAT-3")]
            [GPEnumValue("KOMPSAT-3")]
            value8,

            /// <summary>
            /// <para>Landsat 1-5 MSS</para>
            /// <para>Landsat 1-5 MSS—The Landsat MSS satellite sensors</para>
            /// <para>Landsat 1-5 MSS - Landsat MSS 卫星传感器</para>
            /// </summary>
            [Description("Landsat 1-5 MSS")]
            [GPEnumValue("Landsat 1-5 MSS")]
            value9,

            /// <summary>
            /// <para>Landsat 7 ETM+</para>
            /// <para>Landsat 7 ETM+—The Landsat 7 satellite sensor</para>
            /// <para>Landsat 7 ETM+ - Landsat 7 卫星传感器</para>
            /// </summary>
            [Description("Landsat 7 ETM+")]
            [GPEnumValue("Landsat 7 ETM+")]
            value10,

            /// <summary>
            /// <para>Landsat 8</para>
            /// <para>Landsat 8—The Landsat 8 satellite sensor</para>
            /// <para>Landsat 8 - Landsat 8 卫星传感器</para>
            /// </summary>
            [Description("Landsat 8")]
            [GPEnumValue("Landsat 8")]
            _Landsat_8,

            /// <summary>
            /// <para>Pleiades-1</para>
            /// <para>Pleiades-1—The Pleiades-1 satellite sensor</para>
            /// <para>昴宿星团-1—昴宿星团-1卫星传感器</para>
            /// </summary>
            [Description("Pleiades-1")]
            [GPEnumValue("Pleiades-1")]
            value12,

            /// <summary>
            /// <para>Quickbird</para>
            /// <para>Quickbird—The QuickBird satellite sensor</para>
            /// <para>Quickbird - QuickBird 卫星传感器</para>
            /// </summary>
            [Description("Quickbird")]
            [GPEnumValue("QuickBird")]
            _QuickBird,

            /// <summary>
            /// <para>SkySat-C</para>
            /// <para>SkySat-C—The SkySat-C satellite sensor</para>
            /// <para>SkySat-C - SkySat-C 卫星传感器</para>
            /// </summary>
            [Description("SkySat-C")]
            [GPEnumValue("SkySat")]
            _SkySat,

            /// <summary>
            /// <para>SPOT 5</para>
            /// <para>SPOT 5—The SPOT 5 satellite sensor</para>
            /// <para>SPOT 5—SPOT 5 卫星传感器</para>
            /// </summary>
            [Description("SPOT 5")]
            [GPEnumValue("SPOT 5")]
            _SPOT_5,

            /// <summary>
            /// <para>SPOT 6</para>
            /// <para>SPOT 6—The SPOT 6 satellite sensor</para>
            /// <para>SPOT 6—SPOT 6 卫星传感器</para>
            /// </summary>
            [Description("SPOT 6")]
            [GPEnumValue("SPOT 6")]
            _SPOT_6,

            /// <summary>
            /// <para>SPOT 7</para>
            /// <para>SPOT 7—The SPOT 7 satellite sensor</para>
            /// <para>SPOT 7—SPOT 7 卫星传感器</para>
            /// </summary>
            [Description("SPOT 7")]
            [GPEnumValue("SPOT 7")]
            _SPOT_7,

            /// <summary>
            /// <para>Tian Hui 1</para>
            /// <para>Tian Hui 1—The Tian Hui 1 satellite sensor</para>
            /// <para>天会一号—天会一号卫星传感器</para>
            /// </summary>
            [Description("Tian Hui 1")]
            [GPEnumValue("TH-01")]
            value18,

            /// <summary>
            /// <para>Ultracam</para>
            /// <para>Ultracam—The UltraCam aerial sensor</para>
            /// <para>Ultracam—UltraCam 航空传感器</para>
            /// </summary>
            [Description("Ultracam")]
            [GPEnumValue("UltraCam")]
            _UltraCam,

            /// <summary>
            /// <para>WorldView-2</para>
            /// <para>WorldView-2—The WorldView-2 satellite sensor</para>
            /// <para>WorldView-2 - WorldView-2 卫星传感器</para>
            /// </summary>
            [Description("WorldView-2")]
            [GPEnumValue("WorldView-2")]
            value20,

            /// <summary>
            /// <para>WorldView-3</para>
            /// <para>WorldView-3—The WorldView-3 satellite sensor</para>
            /// <para>WorldView-3 - WorldView-3 卫星传感器</para>
            /// </summary>
            [Description("WorldView-3")]
            [GPEnumValue("WorldView-3")]
            value21,

            /// <summary>
            /// <para>WorldView-4</para>
            /// <para>WorldView-4—The WorldView-4 satellite sensor</para>
            /// <para>WorldView-4—WorldView-4 卫星传感器</para>
            /// </summary>
            [Description("WorldView-4")]
            [GPEnumValue("WorldView-4")]
            value22,

            /// <summary>
            /// <para>ZY-1 PMS</para>
            /// <para>ZY-1 PMS—The Ziyuan High Panchromatic Multispectral Sensor</para>
            /// <para>ZY-1 PMS—紫苑高全色多光谱传感器</para>
            /// </summary>
            [Description("ZY-1 PMS")]
            [GPEnumValue("ZY1-02C PMS")]
            value23,

            /// <summary>
            /// <para>ZY-3 CRESDA</para>
            /// <para>ZY-3 CRESDA—The Ziyuan CRESDA satellite sensor</para>
            /// <para>ZY-3 CRESDA—紫苑CRESDA卫星传感器</para>
            /// </summary>
            [Description("ZY-3 CRESDA")]
            [GPEnumValue("ZY3-CRESDA")]
            value24,

            /// <summary>
            /// <para>ZY-3 SASMAC</para>
            /// <para>ZY-3 SASMAC—The Ziyuan SASMAC satellite sensor</para>
            /// <para>ZY-3 SASMAC—紫苑SASMAC卫星传感器</para>
            /// </summary>
            [Description("ZY-3 SASMAC")]
            [GPEnumValue("ZY3-SASMAC")]
            value25,

        }

        public CreatePansharpenedRasterDataset SetEnv(object compression = null, object configKeyword = null, object extent = null, object geographicTransformations = null, object nodata = null, object outputCoordinateSystem = null, object parallelProcessingFactor = null, object pyramid = null, object rasterStatistics = null, object resamplingMethod = null, object scratchWorkspace = null, object snapRaster = null, double[] tileSize = null, object workspace = null)
        {
            base.SetEnv(compression: compression, configKeyword: configKeyword, extent: extent, geographicTransformations: geographicTransformations, nodata: nodata, outputCoordinateSystem: outputCoordinateSystem, parallelProcessingFactor: parallelProcessingFactor, pyramid: pyramid, rasterStatistics: rasterStatistics, resamplingMethod: resamplingMethod, scratchWorkspace: scratchWorkspace, snapRaster: snapRaster, tileSize: tileSize, workspace: workspace);
            return this;
        }

    }

}